#-*- coding: utf-8 -*-
from ListeChainee import *

class Fifo(object):
	def __init__(self, *args):
		"""Crée une file"""
		self.ll = ListeChainee(*args)

	def enqueue(self, n):
		"""Ajoute n à la file"""
		self.ll.insertEnd(n)

	def dequeue(self):
		"""Dépile le premier élément"""
		try:
			return self.ll.removeBeginning()
		except:
			raise IndexError("La file est vide !")
	def first(self):
		"""Lit le premier élément"""
		try:
			return self.ll.head.data
		except:
			raise IndexError("La file est vide !")

	def __str__(self):
		s = ""
		p = self.ll.head
		while p:
			s += str(p.data) + "<-"
			p = p.next
		return s[:-2]
